﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DTO;
using BUS;
using System.Collections.Generic;

public partial class KetQuaTimKiem : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           
            string tensanpham = Request.QueryString["tensanpham"];
            string giatu = Request.QueryString["giatu"];
            string giaden = Request.QueryString["giaden"];
            string hangsanxuat = Request.QueryString["hangsanxuat"];
            //Neu tim kiem theo ten chinh xac khong dc
            if (TimKiemTheoTen(tensanpham) == false)
            {
                //Neu tim kiem theo ten gan dung khong duoc
                if (TimKiemTheoTen_Gia_HangSanXuat(tensanpham, giatu, giaden, hangsanxuat) == false)
                {
                    //Neu tim kiem theo gia va hang san xuat khong duoc
                    if (TimKiemTheoGia_HangSanXuat(giatu, giaden, hangsanxuat) == false)
                    {
                        lbThongBaoKetQuaTimKiem.Text = "Không có kết quả tìm kiếm cho sản phẩm " +  tensanpham +
                            " có giá từ " + giatu + " => " + giaden +
                            " của hãng " + hangsanxuat;
                        lbThongBaoKetQuaTimKiem.Visible = true;
                    }

                    else
                    {
                        ThongBaoKetQua(tensanpham, giatu, giaden, hangsanxuat);
                    }

                }
                else
                {
                    ThongBaoKetQua(tensanpham, giatu, giaden, hangsanxuat);
                }
            }
            else
            {
                ThongBaoKetQua(tensanpham, giatu, giaden, hangsanxuat);
            }
        }
    }

    private void ThongBaoKetQua(string tensanpham, string giatu, string giaden, string hangsanxuat)
    {
        lbThongBaoKetQuaTimKiem.Text = "Kết quả tìm kiếm cho sản phẩm " + tensanpham +
            " có giá từ " + giatu + " => " + giaden +
            " của hãng " + hangsanxuat;
        lbThongBaoKetQuaTimKiem.Visible = true;
    }
    private bool TimKiemTheoTen(string tensanpham)
    {
        List<SanPhamDTO> KetQua = SanPhamBUS.LaySanPhamTheoTenSanPham(tensanpham);
        if (KetQua.Count > 0)
        {
           
            CollectionPager3.PageSize = 9;
            CollectionPager3.DataSource = KetQua;
            CollectionPager3.BindToControl = dtlKetQuaTimKiem;
            dtlKetQuaTimKiem.DataSource = CollectionPager3.DataSourcePaged;
            return true;
        }
        return false;
    }

    private bool TimKiemTheoTen_Gia_HangSanXuat(string tensanpham, string giatu, string giaden, string hangsanxuat)
    {
        List<SanPhamDTO> KetQua = SanPhamBUS.TraCuuSanPhamCoChuaTenSanPham(tensanpham, ChuyenDoiTien(giatu),
                    ChuyenDoiTien(giaden), hangsanxuat);
        if (KetQua.Count > 0)
        {
            CollectionPager3.PageSize = 9;
            CollectionPager3.DataSource = KetQua;
            CollectionPager3.BindToControl = dtlKetQuaTimKiem;
            dtlKetQuaTimKiem.DataSource = CollectionPager3.DataSourcePaged;
            return true;
        }
        return false;
    }

    private bool TimKiemTheoGia_HangSanXuat(string giatu, string giaden, string hangsanxuat)
    {
        List<SanPhamDTO> KetQua = SanPhamBUS.TraCuuSanPhamKhongChuaTenSanPham(ChuyenDoiTien(giatu),
                    ChuyenDoiTien(giaden), hangsanxuat);
        if (KetQua.Count > 0)
        {
            CollectionPager3.PageSize = 9;
            CollectionPager3.DataSource = KetQua;
            CollectionPager3.BindToControl = dtlKetQuaTimKiem;
            dtlKetQuaTimKiem.DataSource = CollectionPager3.DataSourcePaged;
            return true;
        }
        return false;
    }

   
    private int ChuyenDoiTien(string sotien)
    {
        if (sotien == "500 ngàn")
            return 500000;
        for (int i = 20; i > 0; i--)
        {
            if (sotien.Contains(i.ToString()))
                return i * 1000000;
        }
        return 0;
    }
}
